﻿using X.Infrastructure.WPF.Caliburn.AdviceAttributes;
using X.Infrastructure.WPF.Caliburn.Base;
using X.WPF.Controls.Sample.ViewModels.BasicContext;
using X.WPF.Controls.Sample.ViewModels.ImageContext;
using X.WPF.Controls.Sample.ViewModels.ThreedContext;

namespace X.WPF.Controls.Sample.ViewModels.HomeContext
{
    /// <summary>
    /// 首页视图模型
    /// </summary>
    public class IndexViewModel : ScreenBase
    {
        #region # 字段及构造器

        /// <summary>
        /// 创建首页视图模型构造器
        /// </summary>
        public IndexViewModel(ButtonViewModel buttonViewModel, InputViewModel inputViewModel, ImageCanvasViewModel imageCanvasViewModel, ImageViewerViewModel imageViewerViewModel, ThreeDViewModel threeDViewModel)
        {
            this.ButtonViewModel = buttonViewModel;
            this.InputViewModel = inputViewModel;
            this.ImageCanvasViewModel = imageCanvasViewModel;
            this.ImageViewerViewModel = imageViewerViewModel;
            this.ThreeDViewModel = threeDViewModel;
        }
        #endregion

        #region # 属性

        #region 按钮视图模型 —— ButtonViewModel ButtonViewModel
        /// <summary>
        /// 按钮视图模型
        /// </summary>
        [DependencyProperty]
        public ButtonViewModel ButtonViewModel { get; set; }
        #endregion

        #region 输入组件视图模型 —— InputViewModel InputViewModel
        /// <summary>
        /// 输入组件视图模型
        /// </summary>
        [DependencyProperty]
        public InputViewModel InputViewModel { get; }
        #endregion

        #region 图片画布视图模型 —— ImageCanvasViewModel ImageCanvasViewModel
        /// <summary>
        /// 图片画布视图模型
        /// </summary>
        [DependencyProperty]
        public ImageCanvasViewModel ImageCanvasViewModel { get; set; }
        #endregion

        #region 图片画布视图模型 —— ImageViewerViewModel ImageViewerViewModel
        /// <summary>
        /// 图片画布视图模型
        /// </summary>
        [DependencyProperty]
        public ImageViewerViewModel ImageViewerViewModel { get; set; }
        #endregion

        #region 3D组件视图模型 —— ThreeDViewerViewModel ThreeDViewerViewModel
        /// <summary>
        /// 3D组件视图模型
        /// </summary>
        [DependencyProperty]
        public ThreeDViewModel ThreeDViewModel { get; set; }
        #endregion


        #endregion

        #region # 方法

        //Initializations

        #endregion
    }
}
